gusucode.com > 阵列信号处理书的源码 > MATALB 程序/2.ESPRIT 算法MATLAB程序/main.m
% Developed by xiaofei zhang (南京航空航天大学 电子工程系 张小飞) % EMAIL:zhangxiaofei@nuaa.edu.cn clear all close all radeg = 180/pi; derad=1/radeg; twpi = 2*pi; kelm = 8; % dd = 0.5; % d=0:dd:(kelm-1)*dd; % iwave = 3; % number of DOA theta = [10 20 30]; % DOA n = 200 % A=exp(-j*twpi*d.'*sin(theta*derad));%%%% direction matrix S=randn(iwave,n); snr0=0:3:100; for isnr=1:10 X0=A*S; X=awgn(X0,snr0(isnr),'measured'); Rxx=X*X'/n; [EV,D]=eig(Rxx); EVA=diag(D)'; [EVA,I]=sort(EVA); EVA=fliplr(EVA); EV=fliplr(EV(:,I)); estimates=(tls_esprit(dd,Rxx,iwave)); doaes(isnr,:)=sort(estimates(1,:)); end